Cuando utilizamos operador de asignación (más comunmente conocido como =) para asignar un array –o un objeto– ya existente a una variable debemos tener en cuenta que no estamos almacenando una copia del array, sino una referencia al mismo.
Considérese:
var a = [ 1, 2, 3 ];
alert(a); // [ 1, 2, 3 ]
var b = a;
alert(b); // [ 1, 2, 3 ]
b.push(4);
alert(b); // [1, 2, 3, 4 ]
alert(a); // [ 1, 2, 3, 4 ] <-- `a` ha sido modificado indirectamente
Veamos como realizar una copia en lugar de almacenar una referencia. Continúa leyendo Copia de arrays y objetos
Amigos y compañeros que vivís del desarrollo con PHP, he aquí para vuestro uso y disfrute algunas traducciones de sintaxis de PHP en lo que a arrays se refiere.
Continúa leyendo El Array explicado a los phperos
¿Ya conoces JSON, verdad? Se trata de un formato para intercambio de datos que toma su sintaxis de los literales de ECMAScript. Ventajas: más ligero que XML, más cómodo para trabajar con estructuras de datos, hay librerías que permiten trabajar con JSON disponibles para un buen puñado de lenguajes y… JSONT, un sistema de «plantillas» que permite transformar JSON en cualquier otra cosa a partir de una serie de reglas. Vaya, JSONT es a JSON como XSLT es a XML.
Este truquito para copiar propiedades de un objeto a otro:
function apply(a, b) {
for (var i in b) {
a[i] = b[i];
}
}
Puede ser útil para manejar parámetros por defecto en una función:
function algoHaremos(conf) {
var def = { order: 'date', asc: false };
conf = apply(def, conf || {});
}
Continúa leyendo Copia de propiedades e importación de métodos
El uso de literales de objeto, además de servir para trapichear con hashes, permite mantener el código limpio y bien ordenadito. Chris Heilmann lo explica en Show love to the object literal.
Sergio Pereira –el mismo de la documentación de Prototype.js– explica conceptos avanzados del lenguaje en Quick guide to somewhat advanced JavaScript. OOP y otras hierbas. Recomendada para pehacheperos.